package com.zys.controller;

import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zys.domain.Result;
import com.zys.domain.User;
import com.zys.service.UserService;
import com.zys.utils.PageParam;
import com.zys.vo.UserQueryParam;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;

@RestController
@RequiredArgsConstructor
@RequestMapping("/user")
public class UserController {
    private final UserService userService;

//    @GetMapping("/export")
//    public void export() {
//        userService.export();
//    }

//    @GetMapping("/hello")
//    public String get(Model model) {
//        model.addAttribute("message", "沈纪国大傻逼");
//        return "hello"; // 返回模板名称（对应 templates/hello.ftl）
//    }
//
//    @GetMapping("cc")
//    public String test1() {
//        return "test1"; // 返回模板名称（对应 templates/test1.ftl）
//    }
//    @GetMapping("xj")
//    public String test2() {
//        return "test2"; // 返回模板名称（对应 templates/test1.ftl）
//    }
//    @GetMapping("wxy")
//    public String test3() {
//        return "test3"; // 返回模板名称（对应 templates/test1.ftl）
//    }
//    @GetMapping("lsq")
//    public String test4() {
//        return "test4"; // 返回模板名称（对应 templates/test1.ftl）
//    }

//    @PostMapping("/insert")
//    public Result insert(@RequestBody User user) {
//        userService.insert(user);
//        return Result.success();
//    }


    @GetMapping("download")
    public void download(HttpServletResponse response) throws IOException {
        userService.download(response);
    }

    @GetMapping("/list")
    public Result<IPage<User>> list(PageParam<User> param, UserQueryParam queryParam) {
        IPage<User> page = userService.getList(param, queryParam);
        return Result.success(page);
    }

}
